Many devices include loudspeakers, which are used to play sounds to a user of the device, based on an input signal. For example, the input signal may be derived from a signal that has been received by the device over a communications link, in the case of a phone call or the like, or may be derived from stored data, in the case of music or speech playback.
As wireless communication devices, Mp3 players and other devices for audio playback move even further into everyday use, features like noise cancellation become more important to help ensure higher-quality audio playback and phone calls.
Noise cancellation embraces a number of different approaches to eliminating unwanted noise in order to enhance the listening experience of a user. Active noise cancellation or control (ANC) refers to a method of reducing noise by the addition of an anti-noise—a phase inverted noise signal—which destructively interferes with the noise. This is generally achieved by using a reference microphone to sense environmental or ambient noise and by deriving an anti-noise signal that is emitted by a speaker in order to cancel or at least control the noise. As will be appreciated by those skilled in the art that active noise control can be achieved with analog filters or digital filters, and is generally differentiated by architecture: feed-forward cancellation, feedback cancellation or hybrid cancellation.
FIG. 1 provides a simplified illustration of a feedforward ANC system. As illustrated in FIG. 1 a reference microphone 10 detects incident ambient sounds—or noise—and generates an input signal x(n) for an ANC circuit 20. The ANC circuit 20 processes the signal in order to derive a control signal y(n) which is passed to the loudspeaker transducer 30 and is emitted by the loudspeaker 30 as anti-noise. Thus, the ANC circuit may be considered to comprise a control filter having a transfer function Hnc which inversely models the noise signal for generating the required control sound signal. An error microphone (not shown) is typically provided to measure the error between the noise signal and the anti-noise signal in order that the transfer function Hnc of the ANC circuit may be adapted.
As illustrated in FIG. 2, it will be appreciated that the anti-noise signal will not only propagate towards a user's ear Hde (where d denotes the driver and e denotes the ear), but may also propagate on a leakage path, or feedback path Hdm (where d denotes the driver/loudspeaker and m denotes the microphone), towards the reference microphone. This is known as acoustic feedback and results in a corrupted reference signal x(n). Thus, the reference signal will additionally contain the acoustic feedback signal that is sensed by the reference microphone. When an acoustic control system has a feedback path the leakage often causes unstable behaviour called howling.
The stability of the control system will be significantly influenced by the feedback signal and will depend on the transfer characteristics of an acoustic feedback path Hdm between the speaker and the reference microphone. The problem of acoustic feedback is particularly an issue in the case of a mobile communication device, such as a mobile phone, due to the close proximity between the reference microphone and the speaker.
Feedback control techniques have been proposed which seek to cancel or at least reduce the presence of a feedback signal comprised in an input signal generated by a reference microphone. This is achieved by designing a filter which is designed to inversely model the transfer function of the feedback path. Thus, the feedback filter can be used to reduce or cancel the feedback signal.
However, it will be appreciated that the characteristics, or transfer function, of the feedback path will change during normal usage of the device. Specifically, the characteristics of the feedback path between a speaker and the reference microphone of an ANC system can vary between different users of a device, which implements the ANC system, and also between different instances of use of the device by the same user. The leakage path may vary due to a variety of different user-specific parameters which influence the characteristics of leakage such as device positioning in use, hair style, the presence of glasses and the shape of a user's ears. Furthermore, the feedback characteristics will also depend on the acoustic and/or mechanical and/or material properties of the device itself.
It will be appreciated that this variation in acoustic leakage has consequences for the effectiveness of a feedback control filter which is intended to reduce or cancel the feedback signal. Furthermore, the variation in acoustic feedback impacts the effectiveness of an active noise cancellation process. Adaptive feedback control filters have been proposed which utilise adaptive LMS algorithms in order to model the feedback path. However, such methods are complex for real-time implementation and require a great amount of tuning.
Examples described herein are generally directed to alleviating the issue of acoustic feedback between a speaker and reference microphone of a device comprising an ANC system. In particular, examples described herein seek to provide techniques for feedback control which accommodate a variation in the characteristics of the feedback path.
According to an example of a first aspect there is provided a noise control circuit comprising:
a noise control unit arranged to receive an input signal generated by a reference microphone, the noise control unit being configured to generate a noise control signal based on the input signal, wherein the noise control signal is passed to a speaker;
a feedback control unit comprising a filter, the feedback control unit being configured to receive the noise control signal and to pass the noise control signal through the filter in order to generate a feedback control signal for controlling a feedback signal comprised in the input signal,wherein the filter is derived from one or more predetermined filter candidates, each filter candidate representing a possible feedback path between the speaker and the reference microphone.
The feedback control signal may be subtracted from the input signal in a stage prior to the input signal being passed to the noise control unit.
The noise control circuit may further comprise a filter selection unit configured to derive (i.e. select or build) said filter from said dictionary of predetermined filter candidates. Optionally, the filter selection unit is operable to derive said filter candidate based on, for each filter candidate, a determination of an error that will arise if that filter candidate is selected to generate the feedback control signal. Optionally, the filter selection unit is configured to receive the noise control signal and to pass the noise control signal through each of the candidate filters to generate a set of candidate feedback control signals. Further, the filter selection unit may be configured to receive the input signal and to determine a difference between the input signal and each of the candidate feedback control signals in order to calculate the error for each filter candidate. The filter candidate that is selected to be the filter for the feedback control unit may be the filter candidate for which the lowest error (or a highest similarity score) is determined. According to one example the filter for the feedback control unit is derived from a weighted combination of a plurality of the filter candidates.
According to one or more example the speaker generates an anti-noise signal based on the noise control signal in order to cancel or at least reduce the noise that is heard by a user.
The feedback control unit may be provided in parallel with the feedback path between the speaker and the reference microphone. The feedback control signal may be considered to comprises an estimation of the feedback signal.
According to an example of a second aspect there is provided a method of noise control comprising:
generating a noise control signal based on an input signal received from a reference microphone, wherein the noise control signal is passed to a speaker;
deriving a filter from a plurality of predetermined filter candidates, wherein each filter candidate represents a feedback path between the speaker and the reference microphone;
generating a feedback control signal for controlling a feedback signal comprised in the input signal, wherein the feedback control signal is generated by passing the noise control signal through the selected filter to obtain the feedback control signal.
The method may further comprise subtracting the feedback control signal from the input signal prior to generating the noise control signal.
The step of selecting the filter from the plurality of filter candidates may comprise, for each filter candidate, determining an error that will arise if that filter candidate is selected to generate the feedback control signal.
According to at least one example, the method may further comprise:
receiving, at the filter selection unit, the noise control signal; and
passing the noise control signal through each of the candidate filters to generate a set of candidate feedback control signals.
According to at least one example, the method may further comprise:
receiving, at the filter selection unit, the input signal; and
determining a difference between the input signal and each of the candidate feedback control signals in order to calculate the error (or similarity) for each filter candidate. The method may further comprise selecting the filter candidate for which the lowest error is determined to be the filter for the feedback control unit.
According to a further aspect of the present invention there is provided a method of characterising a device having a noise control circuit, the method comprising:
i) providing the device in a first position and measuring a first impulse response of a feedback path between a speaker and a reference microphone of the noise control circuit;
ii) generating a first filter candidate from the first impulse response;
iii) storing the first filter candidate;
iv) repeating steps i) to iii) to obtain M filter candidates, wherein M is the number of different paths from speaker to the reference microphone realized for example by positions of the device.
According to one or more examples the noise control circuit may be provided in the form of a single integrated circuit.
According to a further aspect there is provided a device comprising the noise control circuit according to an example of the first aspect. The device may comprise, inter alia, a mobile telephone, headphone, acoustic noise cancelling headphones, a smart watch, an audio player, a video player, a mobile computing platform, a games device, a remote controller device, a toy, a machine, or a home automation controller, a domestic appliance or other portable device.
According to a further aspect there is provided a feedback control module having a filter for controlling a feedback signal comprised in a noise control signal, wherein the filter models the feedback path based on a weighted sum of candidate feedback paths. The filter, which can be considered to be a fixed filter which is built at run time from a library of predetermined filter candidates. The feedback control module may be configured to receive, as an input, a noise control signal generated by a noise control module.
Any of the features of the above examples of any of the above aspects may be provided in combination with the features of any examples of any of the other aspects.
According to another aspect of the present invention, there is provided a computer program product, comprising a computer-readable tangible medium, and instructions for performing a method according to at least one example of the previous aspects.
According to another aspect of the present invention, there is provided a non-transitory computer readable storage medium having computer-executable instructions stored thereon that, when executed by processor circuitry, cause the processor circuitry to perform a method according to the previous aspect.